/*
 * Copyright (c) 2013.
 * 游戏服务器核心代码编写人陈磊拥有使用权
 * 联系方式：E-mail:13638363871@163.com ;qq:502959937
 * 个人博客主页：http://my.oschina.net/chenleijava
 */

package com.dc.gameserver.extComponents.springDataRedisCache;

import com.dc.gameserver.extComponents.springDataRedisCache.Operations.MapOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Map;

/**
 * @author 石头哥哥
 *         Date: 13-11-9</br>
 *         Time: 下午4:33</br>
 *         Package: Server.ExtComponents.RedisManager</br>
 *         注解：key  +map
 *         基于spring-redis+ redis的缓存封装
            应用场景：分布式环境
        */
@Service
public class RedisServiceMap implements MapOperations {

    @Resource
    private RedisTemplate<Integer, Map<?,?>> redisTemplate;

    /**
     * @param key
     * @param map 其中 list中的数据应该实现序列化接口
     */
    @Override
    public void set(int key, Map<?,?> map) {
        redisTemplate.opsForValue().set(key,map);
    }

    /**
     * @return
     */
    @Override
    public Map<?, ?> get(int key) {
        return  redisTemplate.opsForValue().get(key);
    }

    /**
     * 删除 缓存 key对应的value
     *
     * @param key
     */
    @Override
    public void del(int key) {
        redisTemplate.delete(key);
    }
}
